import os
import sys
import click
# 定义命令行参数
@click.command()
@click.argument('input_filename', type=click.Path(exists=True))
@click.argument('output_filename', default='output.txt',type=click.Path(exists=True))
def main(input_filename,output_filename):
    """
    文本去重工具，将输入文件中的重复行去除，并将结果写入到输出文件中。
    按输入文件 的每行内容作为字典的键，并将其值设置为None，实现去重。
    去重后写入输出文件中。
    """
    # 使用字典来存储文件内容，实现去重
    content_dict = {}

    # 打开文件，逐行读取
    with open(input_filename, 'r', encoding='utf-8') as file:
        for line in file:
            # 去除行尾的换行符，并将其作为字典的键
            content_dict[line.strip()] = None

    # 检测output_filename是否又文件后缀，如果没有则添加
    if not os.path.splitext(output_filename)[1]:
        output_filename += ".txt"

    # 将字典的所有键写入到输出文件中
    with open(output_filename, 'w', encoding='utf-8') as file:
        for key in content_dict:
            file.write(key + '\n')

    print(f"处理完成，结果已写入到{output_filename}中。\n")
    pass
if __name__ == '__main__':
    main()